shell script - wie geht das`?

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • shell script - wie geht das`?

    hallo zusammen,

    ich hab noch nie nen 'richtiges' shell script geschrieben, bräuchte aber jetzt ne lösung für mein problem

    ich habe eine textfile mit folgendem aubau
    Code:
    befehl1    wert1
    befehl1    wert2
    befehl1    wert3
       .                 .
       .                 .
       .                 .
    wbefehl   variable (-> hätte den z.b. wert1 oder wert2 etc)
    ich hab also z.b. ein script mit 11 Zeilen, die ersten 10 zeilen beginnen jeweils befehl1, dann kommt ein leerzeichen und dann der entsprechende wert (wert1 - wert10). die 11. zeile beginnt mit 'wbefehl', der wert der variable kann einen dieser 10 werte (wert1 - wert10) annehmen.

    jetzt möchte ich aus der textfile den aktuellen wert der variable ermitteln, diese soll dann in den zeilen davor gesucht werden, um dann den wert der vorherigen zeile zu ermitteln

    im bespiel von oben wäre das z.b. so

    Code:
    befehl1    wert1
    befehl1    wert2
    befehl1    wert3
       .                 .
       .                 .
       .                 .
    wbefehl   wert3
    das für mich wichtige wort wäre in diesem fall wert2

    versteht ihr mich? ...ich weiss, mit erklären hab ich es nicht so

    kann mir trotzdem jemand helfen?

    thx

  • #2
    also wie ich das verstehe möchtest du die datei spaltenweise auslesen gluabe ich :-))


    schau mal nach das funktioniert mit awk

    sollte dan irgendiwe so aussehen

    cat datei | awk '{print $2}'

    dann bekommst du nurnoch die 2. spalte ausgegeben

    weis net wie du dir den rest vorstellst


    gruß

    shortie
    Wusstet ihr schon?
    Wer später bremst ist länger schnell!

    Die wahrscheinlich beste Funktion in PHP ist mysql_error(), doch leider auch die unbekannteste!

    Kommentar


    • #3
      das ist auf jeden fall schon mal gut zu wissen, thx.

      jetzt müsste ich noch wissen, wie ich suchen kann...

      also:

      1. ich müsste das 2. wort (also 2. spalte) aus der letzten zeile ermitteln
      2. das ermittelte wort müsste ich den zeilen davor suchen
      3. wenns gefunden ist, müsste ich mir eine zeile vorher die 2. spalte ausgeben lassen

      verstehste?

      Kommentar


      • #4
        also das 2. wort letzte spalte bekommst du schon mal mit


        cat date | grep wbefehl | awk '{print $2}'


        so nun kennen wir das wort oder nicht??


        ist das au schon mal richtig???
        Wusstet ihr schon?
        Wer später bremst ist länger schnell!

        Die wahrscheinlich beste Funktion in PHP ist mysql_error(), doch leider auch die unbekannteste!

        Kommentar


        • #5
          ja, das sieht gut aus

          haste noch mehr auf lager?

          Kommentar


          • #6
            ich weis net genau

            ich schaffe es nicht mir die vorherige zeile ausgeben zu lassen ich bekomme nur den Befehl zu dem wert
            Wusstet ihr schon?
            Wer später bremst ist länger schnell!

            Die wahrscheinlich beste Funktion in PHP ist mysql_error(), doch leider auch die unbekannteste!

            Kommentar


            • #7
              warst mir auf jeden fall ne grosse hilfe...thx

              hab mein problem auch in 2 grossen linux boards gepostet, da wurd mir so gut wie gar nicht geholfen

              Kommentar


              • #8
                weis net mir hilft hier au niemand


                dabei sollte das eigentlich ganz einfach sein dachte ich zumindest immer naja vieleicht kommt ja irgendwann noch wer vorbei der sich mit meinem prob auskennt

                also wenn du wissen willst welcher wert gerade drann ist musst du

                einfach ein diese 2 befehle verwenden in einem script

                WERT=$(cat date | grep wbefehl | awk '{print $2}')
                BEFEHL=$(cat date | grep "$WERT" | grep -v "var" | awk '{print $1}'


                jetzt wissen wir der wievielte befehl es ist


                kann man die befehle irgendwie durchzählen????
                Wusstet ihr schon?
                Wer später bremst ist länger schnell!

                Die wahrscheinlich beste Funktion in PHP ist mysql_error(), doch leider auch die unbekannteste!

                Kommentar


                • #9
                  kann man das nicht vieleicht ganz anders machen???


                  was willst du denn genau machen vieleicht fällt mir ja ein anderer wert ein denn wenn ich ehrlich bin fällt mir momentan nichts ein wofür man das gebrauchen könnte aber na gut also wenn du mal kurz beschreibst was das ding überhaupt bewirkl kann es sein das wir eine andere lösung finden



                  gruß

                  shortie
                  Wusstet ihr schon?
                  Wer später bremst ist länger schnell!

                  Die wahrscheinlich beste Funktion in PHP ist mysql_error(), doch leider auch die unbekannteste!

                  Kommentar


                  • #10
                    ich probier auch mal ein bischen rum, mir ist aufgefallen, daß ich das sowieso ein bischen mehr beachten muss.

                    hintergrund: ich hab nen gameserver am laufen, der hin und wieder mal crasht. ich vermute das problem liegt an den maps. ich will dann auf diese weise mitloggen, bei welcher map der server abgeschmiert ist. das kann man anhand der textdatei auswerten

                    auf jeden fall vielen dank für deine hilfe, vllt kann ichs in anderen bereichen wieder gut machen

                    Kommentar

                    Lädt...
                    X